<%@page import="java.sql.SQLException"%>
<%@page import="conectar.Conectar"%>
<%@page import="java.sql.ResultSet"%>
<%@page session="true" %>
<%@page import="org.w3c.dom.Document"%>


<!DOCTYPE html>
<html>
    <head>
        <title>Resultados</title>
        <link rel="stylesheet" type="text/css" href="css/default.css" />
        <link rel="stylesheet" type="text/css" href="css/style.css" />

        <%
            //NOTA tenemos que hacer algo para que solo se pueda consultar cuando se finalice las votaciones,

            conectar.Conectar bd = new conectar.Conectar(); //objeto para hacer las consultar, feo que halla quedado en la clase conectar.. si hay tiempo arreglar
            Seguridad.Funciones p = new Seguridad.Funciones(); //objeto para llamar las funciones de encrypt

            ResultSet res = bd.consultarVoto();//retorno un Resulset res, para recorerlo aqui.
            ResultSet datosCandidatos = bd.datosCandidatos();

            int num = bd.numeroCandidatos();//numero de candidatos
            int candidato[] = new int[5];
            int cont = 0, n = 0, primercandidato = 0, segundocandidato = 0, tercercandidato = 0, cuartocandidato = 0, votoblanco = 0;
            String[] datos = new String[5];

            //--DESENCRIPTA Y CUENTA VOTOS----
            
            while (res.next()) {

                byte[] datoEncrypt = res.getBytes("Voto");
                String voto = p.decrypt(datoEncrypt);
                if (voto.equals("1")) {
                    primercandidato++;
                } else if (voto.equals("2")) {
                    segundocandidato++;
                } else if (voto.equals("3")) {
                    tercercandidato++;
                } else if (voto.equals("4")) {
                    cuartocandidato++;
                } else if (voto.equals("5")) {
                    votoblanco++;
                }
                cont++;
            }            
            //----------FIN DESENCRIPTACION-------------

            //------------ ASIGNA Y ORDENA VVOTOS--------
            candidato[0] = Integer.parseInt(datos[0] = "1" + primercandidato);
            candidato[1] = Integer.parseInt(datos[1] = "2" + segundocandidato);
            candidato[2] = Integer.parseInt(datos[2] = "3" + tercercandidato);
            candidato[3] = Integer.parseInt(datos[3] = "4" + cuartocandidato);
            candidato[4] = Integer.parseInt(datos[4] = "5" + votoblanco);

            int c1, c2, aux;
            for (c1 = 0; c1 <= 4; c1++) {
                for (c2 = 0; c2 < 4; c2++) {
                    if (Integer.parseInt(datos[c2].substring(1)) < Integer.parseInt(datos[c2 + 1].substring(1))) {
                        aux = candidato[c2];
                        candidato[c2] = candidato[c2 + 1];
                        candidato[c2 + 1] = aux;
                    }
                }
            }
            for (int i = 0; i < 5; i++) {
                datos[i] = "" + candidato[i];
            }
            //----FIN ASIGA Y ORDENA VOTTOS.------
        %>

    </head>
    <body>

        <header>        
            <jsp:directive.include file="header.jsp" />
        </header>

        <article class="principal" id="boleta" style="text-align: center">
            <p >Resultados Votaciones</p>

            <%

                try {
                    conectar.Conectar miconexion = new Conectar();
                    String sql;
                    ResultSet consulta;
                    while (n < candidato.length) {
                        sql = "SELECT * FROM candidato WHERE id = " + Integer.parseInt(datos[n].substring(0, 1)) + "";
                        try {
                            consulta = miconexion.consulta(sql);
                            if (consulta.next()) {
                                if (n == 0) { // EL PRIMERO --- EL GANADOR  
            %>
            <div class="principal" >
                <p>Ganador</p>

                <img class=principal src=" <%=consulta.getString(3)%>" >

                <p style="font-size:20px; font-weight:normal;" >
                    <a>

                        <%=consulta.getString(2)%>
                        <br>

                    </a>

                </p> 
                <p style="font-size:20px; font-weight:normal;" >
                    <a>
                        <%=datos[n].substring(1)%>  Votos
                    </a>
                </p>

            </div>

            <%
            } else { // LOS DEMAS CANDIDATOS Y RESULTADOS
            %>
            <div class="principal" >


                <img class=principal src=" <%=consulta.getString(3)%>" >

                <p style="font-size:20px; font-weight:normal;" >
                    <a>

                        <%=consulta.getString(2)%>
                        <br>

                    </a>

                </p> 
                <p style="font-size:20px; font-weight:normal;" >
                    <a>
                        <%=datos[n].substring(1)%>  Votos
                    </a>
                </p>

            </div>

            <%
                                }
                            } else {
                                out.print("no esta haciendo nada sumerce");
                            }
                        } catch (SQLException e) {
                            out.println("Este error SQL ----> " + e);
                            out.println("esta causa ---->  ****** " + e.getCause());
                            out.println("El valor (--" + Integer.parseInt(datos[n].substring(0, 0)) + "---)");
                        }

                        n++;
                    }
                } catch (Exception e) {
                    out.print("Este error ---->  " + e);
                }

            %>
           
            <div class="wrapper" id="addcurso">               
                    <div>
                        <p class="add button">
                            <a href="javascript:window.history.back();">
                                <input id="titulo" type="submit" value="Volver" />
                            </a>
                        </p>
                    </div>
                </div>
        </article>
        <footer>
            <jsp:directive.include file="footer.jsp" />
        </footer>
    </body>
</html>
